947 research outputs found

    An algorithm for the rapid numerical evaluation of Bessel functions of real orders and arguments

    Full text link
    We describe a method for the rapid numerical evaluation of the Bessel functions of the first and second kinds of nonnegative real orders and positive arguments. Our algorithm makes use of the well-known observation that although the Bessel functions themselves are expensive to represent via piecewise polynomial expansions, the logarithms of certain solutions of Bessel's equation are not. We exploit this observation by numerically precomputing the logarithms of carefully chosen Bessel functions and representing them with piecewise bivariate Chebyshev expansions. Our scheme is able to evaluate Bessel functions of orders between 00 and 1\sep,000\sep,000\sep,000 at essentially any positive real argument. In that regime, it is competitive with existing methods for the rapid evaluation of Bessel functions and has several advantages over them. First, our approach is quite general and can be readily applied to many other special functions which satisfy second order ordinary differential equations. Second, by calculating the logarithms of the Bessel functions rather than the Bessel functions themselves, we avoid many issues which arise from numerical overflow and underflow. Third, in the oscillatory regime, our algorithm calculates the values of a nonoscillatory phase function for Bessel's differential equation and its derivative. These quantities are useful for computing the zeros of Bessel functions, as well as for rapidly applying the Fourier-Bessel transform. The results of extensive numerical experiments demonstrating the efficacy of our algorithm are presented. A Fortran package which includes our code for evaluating the Bessel functions as well as our code for all of the numerical experiments described here is publically available

    On the numerical calculation of the roots of special functions satisfying second order ordinary differential equations

    Full text link
    We describe a method for calculating the roots of special functions satisfying second order linear ordinary differential equations. It exploits the recent observation that the solutions of a large class of such equations can be represented via nonoscillatory phase functions, even in the high-frequency regime. Our algorithm achieves near machine precision accuracy and the time required to compute one root of a solution is independent of the frequency of oscillations of that solution. Moreover, despite its great generality, our approach is competitive with specialized, state-of-the-art methods for the construction of Gaussian quadrature rules of large orders when it used in such a capacity. The performance of the scheme is illustrated with several numerical experiments and a Fortran implementation of our algorithm is available at the author's website

    On the numerical solution of second order differential equations in the high-frequency regime

    Full text link
    We describe an algorithm for the numerical solution of second order linear differential equations in the highly-oscillatory regime. It is founded on the recent observation that the solutions of equations of this type can be accurately represented using nonoscillatory phase functions. Unlike standard solvers for ordinary differential equations, the running time of our algorithm is independent of the frequency of oscillation of the solutions. We illustrate the performance of the method with several numerical experiments

    Improved estimates for nonoscillatory phase functions

    Full text link
    Recently, it was observed that solutions of a large class of highly oscillatory second order linear ordinary differential equations can be approximated using nonoscillatory phase functions. In particular, under mild assumptions on the coefficients and wavenumber λ\lambda of the equation, there exists a function whose Fourier transform decays as exp(μξ)\exp(-\mu |\xi|) and which represents solutions of the differential equation with accuracy on the order of λ1exp(μλ)\lambda^{-1} \exp(-\mu \lambda). In this article, we establish an improved existence theorem for nonoscillatory phase functions. Among other things, we show that solutions of second order linear ordinary differential equations can be represented with accuracy on the order of λ1exp(μλ)\lambda^{-1} \exp(-\mu \lambda) using functions in the space of rapidly decaying Schwartz functions whose Fourier transforms are both exponentially decaying and compactly supported. These new observations play an important role in the analysis of a method for the numerical solution of second order ordinary differential equations whose running time is independent of the parameter λ\lambda. This algorithm will be reported at a later date.Comment: arXiv admin note: text overlap with arXiv:1409.438

    On the existence of nonoscillatory phase functions for second order differential equations in the high-frequency regime

    Full text link
    We observe that solutions of a large class of highly oscillatory second order linear ordinary differential equations can be approximated using nonoscillatory phase functions. In addition, we describe numerical experiments which illustrate important implications of this fact. For example, that many special functions of great interest --- such as the Bessel functions JνJ_\nu and YνY_\nu --- can be evaluated accurately using a number of operations which is O(1)O(1) in the order ν\nu. The present paper is devoted to the development of an analytical apparatus. Numerical aspects of this work will be reported at a later date
    corecore